//
//  WDGrabOrdersPersonInfoViewModel.h
//  wd-serviceapp
//
//  Created by Bin Tang on 2024/8/13.
//

#import "TYZBaseViewModel.h"
#import "WDArrivalServiceItemModel.h"
#import "WDRescueCancelGrabApplyRequest.h" // 取消外出救援申请
#import "WDRescueGrabApplyRequest.h" // 外出救援申请
#import "WDTaskSetGrabLockRequest.h" // 设置抢单锁

NS_ASSUME_NONNULL_BEGIN

/// 抢单个人信息填写
@interface WDGrabOrdersPersonInfoViewModel : TYZBaseViewModel
@property (nonatomic, strong) WDArrivalServiceItemModel *serviceModel;

/// 预计到达时间选项
@property (nonatomic, strong) NSArray *arrivalTimeOptions;


/// 取消外出救援申请 请求参数
@property (nonatomic, strong) WDRescueCancelGrabApplyReqModel *reqCancelModel;

/// 外出救援申请 请求参数
@property (nonatomic, strong) WDRescueGrabApplyReqModel *reqApplyModel;

/// 设置取消锁
@property (nonatomic, strong) WDTaskSetGrabLockReqModel *reqModel;


- (void)setupReqApplyModel:(void(^)(void))successBlock;

/// 计算点之间的距离
- (void)calcTwoPointDistance:(void (^)(void))successBlock;


/// 取消外出救援申请
/// - Parameter completion: completion description
- (void)requestWithCancelApply:(RequestCompletionBlock)completion;


/// 外出救援申请
/// - Parameter completion: completion description
- (void)requestWithApply:(RequestCompletionBlock)completion;

/// 设置/取消抢单锁
/// - Parameter completion: completion description
- (void)requestWithGrabLock:(RequestCompletionBlock)completion;

@end

NS_ASSUME_NONNULL_END
